const Mock = require("mockjs");
const { Random } = Mock;
module.exports  =  {
  ///返回一个时间
  returnDate: (type, format = 'yyyy-MM-dd') => {
    switch(type) {
      case 'date':
        return Random.date(format);
      case 'time':
        return Random.time(format);
      default:
        return Random.date(format)+' '+Random.time();
    }
  },
  ///返回一个图片地址或 base64编码
  returnImage: (type, size="200x100", background="fff", foreground="#999", format=".png", text = 'helloworld') => {
    switch(type){
      case 'image':
        return Random.image(size, background, foreground, format, text);
      case 'dataImage':
        return Random.dataImage(size, text);
      default:
        return Random.dataImage();
    }
  },
  ///返回一段随机文本
  returnText : (type, min=3, max=7) => {
    switch(type){
      //随机生成一段文本。
      case 'paragraph':
        return Random.paragraph(min, max);
      //随机生成一段中文文本。
      case 'cparagraph':
        return Random.cparagraph(min, max);
      //随机生成一个句子，第一个单词的首字母大写。
      case 'sentence':
        return Random.sentence(min, max);
      //随机生成一段中文文本。
      case 'csentence':
        return Random.csentence(min, max);
      //随机生成一个单词。
      case 'word':
        return Random.word(min, max);
      //随机生成一个汉字。
      case 'cword':
        return Random.cword(min, max);
      case 'ctitle':
        return Random.ctitle(min, max)
      case 'title':
      default:
        return Random.title(min, max);
    }
  },
  returnColor: (type) => {
    switch(type) {
      case 'color':
        return Random.color();
      case 'hex':
        return Random.hex();
      case 'rgb':
        return Random.rgb();
      case 'rgba':
        return Random.rgba();
      case 'hsl':
        return Random.hsl();
      default:
        return Random.color();
    }
  },
  returnName: (type) => {
    switch(type) {
      case 'first':
        return Random.first();
      case 'last':
        return Random.last();
      case 'name':
        return Random.name();
      case 'cfirst':
        return Random.cfirst();
      case 'clast':
        return Random.clast();
      case 'cname':
        return Random.cname();
      default:
        return Random.name();
    }
  },
  returnAddress: (type, min) => {
    switch(type) {
      case 'region':
        return Random.region(min);
      case 'province':
        return Random.province(min);
      case 'city':
        return Random.city(min);
      case 'county':
        return Random.county(min);
      case 'zip':
        return Random.zip();
    }
  },
  returnBasic: (type, ...basic) => {
    switch(type) {
      case 'boolean':
        return Random.boolean(...basic);
      case 'natural':
        return Random.natural(...basic);
      case 'integer':
        return Random.integer(...basic);
      case 'float':
        return Random.float(...basic);
      case 'character':
        return Random.character(...basic);
      case 'string':
        return Random.string(...basic);
      case 'range':
        return Random.range(...basic);
      default:
        return Random.string(...basic);
    }
  }

}